﻿using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Windows.Forms;
using PetSoft.GUI;
using Business_Logic;

namespace PetSoft
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
        	//BLCliente.inicializar();
            //BLTipoAtencion.inicializar();
            //BLMascota.inicializar();
            //BLCitaMedica.inicializar();
            
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            
            
            try{
            	FileStream archivo1 = new FileStream(".//cadenaConexion.xml", FileMode.Open, FileAccess.Read);
            	archivo1.Close();
            	FileStream archivo2 = new FileStream(".//tienda.xml", FileMode.Open, FileAccess.Read);
            	archivo2.Close();
            }catch(Exception ex){
            	Utils.MessageAviso("Se deben establecer los parámetros de configuración inicial.");
            	
            	GUI.Configuracion.GUIConfiguracionInicial v;
            	v = new PetSoft.GUI.Configuracion.GUIConfiguracionInicial();
            	Application.Run(v);
            	
            	if (!v.Acepto){
            		//si no acepta setear la conf en la primera vez, el programa no se inicializa
            		return;
            	}else{
            		GUI.Configuracion.GUIConfiguracionInicialTienda vt = new GUI.Configuracion.GUIConfiguracionInicialTienda();
            		Application.Run(vt);
            		
            		if (!v.Acepto){
            			//no ha seteado la conf, el programa no se inicia
            			return;
            		}
            		
            	}
            	
            }
           
            
            try{
	            
				int continua = 1;
	            GUILogin login;
	            while(continua==1){
		            login = new GUILogin();
		            Application.Run(login);
		            if (login.getContinuar()==2){
		            		Utils.MessageAviso("Usted no tiene permisos para ingresar al sistema");
		            		login = new GUILogin();
		            		Application.Run(login);
		            		if (login.getContinuar()==2){
		            			Utils.MessageAviso("Usted no tiene permisos para ingresar al sistema");
		            			login = new GUILogin();
		            			Application.Run(login);
		            		}
		            }
		            if(login.salir==1){
		            	continua = 0;
		            }
		            
		            if (login.getContinuar()==1)
		            	Application.Run(new GUIPetsoftInicial());
	            }
            }
            catch(Exception ex)
            {
            	Utils.MessageError("Error al inicializar el programa", ex);
            }
        }
    }
}
